package resman.model;

import java.io.Serializable;
import java.util.Map;

@SuppressWarnings("serial")
public class Bean implements Serializable
{
	/**
	 * Constrói um bean
	 */
	public Bean()
	{
		
	}
	
	/**
	 * Retorna o valor de uma propriedade
	 * @param property Nome da propriedade
	 * @return Valor de uma propriedade
	 */
	public String getProperty(String property)
	{
		try
		{
			Property p = new Property(property, getClass());
			return p.get(this);
		}
		catch(PropertyException e)
		{
		}
		return null;
	}
	
	/**
	 * Seta o valor de uma propriedade
	 * @param property Nome da propriedade
	 * @param value Valor da propriedade
	 */
	public void setProperty(String property, String value)
	{
		try
		{
			Property p = new Property(property, getClass());
			if (p != null)
			{
				System.out.println(property + " "+ value);
				p.set(this, value);
			}
		}
		catch(PropertyException e)
		{
		}
	}
	
	/**
	 * Seta os valores de várias propriedades
	 * @param map Estrutura map que contém o valor de cada propriedade
	 */
	public void setProperties(Map<String, String[]> map)
	{
		for (String key : map.keySet())
			setProperty(key, map.get(key)[0]);
	}
	
}
